<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>rfdc: Examples</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">rfdc
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li class="current"><a href="pages.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('example.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">Examples </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>You can refer to the below stated example applications for more details on how to use rfdc driver.</p>
<h1><a class="anchor" id="ex1"></a>
xrfdc_selftest_example.c</h1>
<p>contains a selftest example for using the rfdc hardware and RFSoC Data Converter driver. This example does some writes to the hardware to do some sanity checks and does a reset to restore the original settings.</p>
<p>For details, see <a class="el" href="xrfdc__selftest__example_8c.html" title="This file contains a selftest example for using the rfdc hardware and RFSoC Data Converter driver...">xrfdc_selftest_example.c</a>.</p>
<h1><a class="anchor" id="ex2"></a>
xrfdc_read_write_example.c</h1>
<p>Contains an example to use multiple driver "set" APIs to configure the targeted AMS block. Subsequently it uses "get" APIs to read back the configurations to ensure that the desired configurations are applied. For DAC it sets the following configurations: MixerSettings, QMCSettings, Write Fabricrate, Decoder mode, Output Current and Coarse Delay. For ADC it sets the following configurations: MixerSettings, QMCSettings, Read Fabricrate and Threshold Settings. This example shows how to change the configurations for ADC and DAC using driver functions. NOTE: The purpose of the example is to show how to use the driver APIs. For real user scenarios this example will not be relevant.</p>
<p>For details, see <a class="el" href="xrfdc__read__write__example_8c.html" title="This example uses multiple driver &quot;set&quot; APIs to configure the targeted AMS block. ...">xrfdc_read_write_example.c</a>.</p>
<h1><a class="anchor" id="ex3"></a>
xrfdc_intr_example.c</h1>
<p>Contains an example to show the interrupts, interrupts are mostly used for error reporting. The interrupts do not do any data processing. Since they dont do any data processing, interrupts are invoked in rare conditions. The example here attempts to demonstrate users how an error interrupt can be generated. Also once generated how does the processing happen. Upon an interrupt, the control reaches to ScuGIC interrupt handler. From there the control is transferred to the libmetal isr handling which then calls the driver interrupt handler. Users are expected to register their callbacks with the driver interrupt framework. The actual interrupt handling is expected to happen in the user provided callback. This example generates ADC fabric interrupts by writing some incorrect fabric data rate based on the read/write clocks.</p>
<p>For details, see <a class="el" href="xrfdc__intr__example_8c.html" title="For the RFSoC Data Converter, the interrupts are mostly used for error reporting. ...">xrfdc_intr_example.c</a>. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
